package com.example.demo.item;

import com.example.demo.Demo;
import com.example.demo.constant.ItemConstant;
import com.example.demo.item.custom.Prospector;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.minecraft.item.Item;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;

/**
 * ModItems类负责处理模组中所有物品的注册和管理
 */
public class ModItems {

    /**
     * 注册物品
     */
    // 注册示例物品
    public static final Item EXAMPLE_ITEM = registerModItems(ItemConstant.EXAMPLE_NAME, new Item(new Item.Settings()));
    // 注册原始示例物品
    public static final Item RAW_EXAMPLE_ITEM = registerModItems(ItemConstant.RAW_EXAMPLE_NAME, new Item(new Item.Settings()));
    // 注册勘探者物品，具有自定义的最大耐久度
    public static final Item PROSPPECTOR_ITEM = registerModItems(ItemConstant.PROSPPECTOR_NAME, new Prospector(new FabricItemSettings().maxDamage(60)));
    // 注册香蕉食物物品
    public static final Item BANANA = registerModItems(ItemConstant.FOOD_BANANA_NAME, new Item(new FabricItemSettings().food(ModFoodComponents.BANANA)));
    // 注册无烟煤燃料物品
    public static final Item FUEL_ANTHRACITE  = registerModItems(ItemConstant.FUEL_ANTHRACITE_NAME, new Item(new FabricItemSettings()));
    /**
     * 注册模组中的物品
     *
     * @param name 物品的名称
     * @param item 要注册的Item对象
     * @return 注册后的Item对象
     */
    public static Item registerModItems(String name, Item item) {
        return Registry.register(Registries.ITEM, new Identifier(Demo.MOD_ID, name), item);
    }


    /**
     * 初始化方法，用于注册物品和将其添加到物品组
     */
    public static void init() {

    }
}
